﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DAL;
using Public;

namespace BUS
{
    public class NhanVien_BUS
    {
        QuanLyQuanCaFeDataContext qlcf = new QuanLyQuanCaFeDataContext();
        NhanVien_PB nv_pb=new NhanVien_PB();

        #region "Lấy danh sách nhân viên"
        public IEnumerable<NhanVien> LayDSNhanVien()
        {
            IEnumerable < NhanVien > nhanvien = from nv in qlcf.NhanViens
                                      select nv;
            return nhanvien;
        }
        #endregion

        #region "Lấy ds mã ca"
        public IQueryable LayDSMaCa()
        {
            IQueryable maca = from mc in qlcf.CaLamViecs
                                       select new { mc.maca, mc.tenca };
            return maca;
        }
        #endregion

        #region "Thêm"
        //public void Them(string ma, string maca, string ten, DateTime ngaysinh, string gioitinh, string cmnd, string sdt, string diachi)
        //{
        //    NhanVien nv = new NhanVien();
        //    nv.manv = NhanVien_PB.MaNV;
        //    nv.maca = NhanVien_PB.MaCa;
        //    nv.ten = NhanVien_PB.Ten;
        //    nv.ngaysinh = NhanVien_PB.NgaySinh;
        //    nv.gioitinh = NhanVien_PB.GioiTinh;
        //    nv.diachi = NhanVien_PB.DiaChi;
        //    nv.cmnd = NhanVien_PB.CMND;
        //    nv.sdt = NhanVien_PB.SDT;
        //    NhanVien nv = new NhanVien();
        //    nv.manv = ma;
        //    nv.maca = maca;
        //    nv.ten = ten;
        //    nv.ngaysinh = ngaysinh;
        //    nv.gioitinh = gioitinh;
        //    nv.cmnd = cmnd;
        //    nv.sdt = sdt;
        //    nv.diachi = diachi;

        //    qlcf.NhanViens.InsertOnSubmit(nv);
        //    qlcf.SubmitChanges();
        //}
        #endregion
        public void Them(NhanVien_PB nv_pb)
        {
            NhanVien themnv = new NhanVien();
            themnv.manv = NhanVien_PB.MaNV;
            themnv.maca = NhanVien_PB.MaCa;
            themnv.ten = NhanVien_PB.Ten;
            themnv.ngaysinh = NhanVien_PB.NgaySinh;
            themnv.gioitinh = NhanVien_PB.GioiTinh;
            themnv.diachi = NhanVien_PB.DiaChi;
            themnv.cmnd = NhanVien_PB.CMND;
            themnv.sdt = NhanVien_PB.SDT;
            themnv.trangthai = true;
            qlcf.NhanViens.InsertOnSubmit(themnv);
            qlcf.SubmitChanges();
        }

        #region "Sửa"
        public void Sua(NhanVien_PB nv_pb)
        {
            NhanVien suanv = (from nv in qlcf.NhanViens
                              select nv).Single(n => n.manv == NhanVien_PB.MaNV);
            suanv.maca = NhanVien_PB.MaCa;
            suanv.ten = NhanVien_PB.Ten;
            suanv.ngaysinh = NhanVien_PB.NgaySinh;
            suanv.gioitinh = NhanVien_PB.GioiTinh;
            suanv.diachi = NhanVien_PB.DiaChi;
            suanv.cmnd = NhanVien_PB.CMND;
            suanv.sdt = NhanVien_PB.SDT;
            suanv.trangthai = true;
            qlcf.SubmitChanges();
        }
        #endregion

        #region "Xóa"
        public void Xoa(string manv)
        {
            NhanVien xoanv = (from nv in qlcf.NhanViens
                              select nv).Single(n => n.manv == manv);
            qlcf.NhanViens.DeleteOnSubmit(xoanv);
            qlcf.SubmitChanges();
        }
        #endregion

        #region "Giải quyết thôi việc"
        public void GiaiQuyetThoiViec(NhanVien_PB nv_pb)
        {
            NhanVien thoiviecnv = (from nv in qlcf.NhanViens
                              select nv).Single(n => n.manv == NhanVien_PB.MaNV);
            thoiviecnv.maca = NhanVien_PB.MaCa;
            thoiviecnv.ten = NhanVien_PB.Ten;
            thoiviecnv.ngaysinh = NhanVien_PB.NgaySinh;
            thoiviecnv.gioitinh = NhanVien_PB.GioiTinh;
            thoiviecnv.diachi = NhanVien_PB.DiaChi;
            thoiviecnv.cmnd = NhanVien_PB.CMND;
            thoiviecnv.sdt = NhanVien_PB.SDT;
            thoiviecnv.trangthai = false;
            qlcf.SubmitChanges();
        }
        #endregion
    }
}
